package com.fast.fast.common.base.constant.enums;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

/**
 * 错误枚举
 *
 * @author lyf
 * @date 2022/01/01 00:00 周六
 **/
@Getter
@RequiredArgsConstructor
public enum ErrorEnum {

    /**
     * 未知异常
     */
    UNKNOWN_EXCEPTION(999, "未知异常"),

    /**
     * 新增失败
     */
    CREATE_ERROR(101, "新增失败"),

    /**
     * 更新失败
     */
    READ_ERROR(102, "更新失败"),

    /**
     * 删除失败
     */
    UPDATE_ERROR(103, "删除失败"),

    /**
     * 查找失败
     */
    DELETE_ERROR(104, "查找失败");

    /**
     * 错误码
     */
    private final Integer code;

    /**
     * 错误信息
     */
    private final String msg;

    /**
     * 通过错误码获取枚举对象
     *
     * @param code 错误码
     * @return 枚举对象
     */
    public static ErrorEnum getByCode(Integer code) {
        for (ErrorEnum value : ErrorEnum.values()) {
            if (code.equals(value.getCode())) {
                return value;
            }
        }
        return null;
    }

    /**
     * 通过错误码获取错误信息
     *
     * @param code 错误码
     * @return 错误信息
     */
    public static String getMsgByCode(Integer code) {
        for (ErrorEnum value : ErrorEnum.values()) {
            if (code.equals(value.getCode())) {
                return value.getMsg();
            }
        }
        return null;
    }
}  